package unq.uis.robots.applicationsModels;

import java.io.Serializable;
import java.util.List;

import org.uqbar.commons.utils.Observable;

import unq.uis.robots.model.Jugador;
import unq.uis.robots.model.Robot;
import unq.uis.robots.model.Sistema;

@Observable
public class ComprarRobotApplicationModel implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static final String SISTEMA = "sistema";
	public static final String ROBOTSDELSISTEMA = "robotsDelSistema";
	public static final String OFERTA = "oferta";
	public static final String JUGADOR = "jugador";
	public static final String ROBOTSELECCIONADO = "robotSeleccionado";
	
	private Sistema sistema = Sistema.getInstance();
	private int oferta;
	private Jugador jugador;
	private JugadorVista vistaPrincipal;
	private Robot robotSeleccionado;
	
	public ComprarRobotApplicationModel(JugadorVista vistaPrincipal){
		this.jugador = vistaPrincipal.getJugador();
		this.vistaPrincipal = vistaPrincipal;
	}

	public List<Robot> getRobotsDelSistema() {
		return this.sistema.getRobotsSistema();
	}


	public void ofertar(){
		this.sistema.aceptarOferta(this.oferta, this.robotSeleccionado.getPrecioBase() , this.jugador, this.robotSeleccionado);
		//this.getVistaPrincipal().actualizarDatos();
	}
	
	public int getOferta() {
		return oferta;
	}

	public void setOferta(int oferta) {
		this.oferta = oferta;
	}

	public Jugador getJugador() {
		return jugador;
	}

	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

	public JugadorVista getVistaPrincipal() {
		return vistaPrincipal;
	}

	public void setVistaPrincipal(JugadorVista vistaPrincipal) {
		this.vistaPrincipal = vistaPrincipal;
	}

	public Robot getRobotSeleccionado() {
		return robotSeleccionado;
	}

	public void setRobotSeleccionado(Robot robotSeleccionado) {
		this.robotSeleccionado = robotSeleccionado;
	}
	
	public String getNombreRobot(){
		return this.getRobotSeleccionado().getNombre();
	}
	
	public String getNombreJugador(){
		return this.jugador.getNombre();
	}
	
	public int getDineroJugador(){
		return this.jugador.getDinero();
	}
	
	public int getPrecioBaseRobot(){
		return this.getRobotSeleccionado().getPrecioBase();
	}
	
	public int getDanioRobot(){
		return this.getRobotSeleccionado().getDanio();
	}
	
}
